package cn.com.zero.api.log.util;

/**
 * @author xiongxj
 * @version 1.0.0
 * @Description 日志工具类
 * @createTime 2022/7/13 14:55
 */
public class LogUtil {
    /**
     * 使用ThreadLocal维护变量，ThreadLocal为每个使用该变量的线程提供独立的变量副本，
     * 所以每一个线程都可以独立地改变自己的副本，而不会影响其它线程所对应的副本。
     */
    private static final ThreadLocal<String> CONTEXT_HOLDER = new ThreadLocal<>();

    /**
     * 设置备注信息
     *
     * @param note 备注信息
     */
    public static void setNote(String note) {
        CONTEXT_HOLDER.set(note);
    }

    /**
     * 获取备注
     *
     * @return 备注信息
     */
    public static String getNote() {
        return CONTEXT_HOLDER.get();
    }

    /**
     * 清空备注变量
     */
    public static void clearNote() {
        CONTEXT_HOLDER.remove();
    }

}
